package com.party.business.domain;

import java.util.Date;
import java.util.List;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.party.common.annotation.Excel;
import com.party.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.Size;

/**
 * 赛事管理对象 t_skill
 *
 * @author ruoyi
 * @date 2024-10-15
 */
@Data
@TableName(value = "t_skill")
@EqualsAndHashCode(callSuper = true)
public class TSkill extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * $column.columnComment
     */
    @TableId(type = IdType.ASSIGN_ID)
    private String id;

    /**
     * "大赛名称"
     */
    @Excel(name = "大赛名称")
    @Size(min = 0, max = 50, message = "大赛名称不能超过50个字符")
    private String name;

    /**
     * "积分规则"
     */
    @Excel(name = "积分规则")
    @Size(min = 0, max = 2000, message = "积分规则不能超过2000个字符")
    private String jfRule;

    /**
     * "报名条件"
     */
    @Excel(name = "报名条件")
    @Size(min = 0, max = 2000, message = "报名条件不能超过2000个字符")
    private String bmTj;

    /**
     * "介绍"
     */
    @Excel(name = "介绍")
    @Size(min = 0, max = 1000, message = "介绍不能超过1000个字符")
    private String projectInfo;

    /**
     * "赛程安排"
     */
    @Excel(name = "赛程安排")
    @Size(min = 0, max = 2000, message = "赛程安排不能超过2000个字符")
    private String skillArrange;

    /**
     * "赛事类别"
     */
    @Excel(name = "赛事类别")
    private String type;


    /**
     * "报名类型"
     */
    @Excel(name = "报名类型")
    private String bmType;


    /**
     * "专家Id"
     */
    @Excel(name = "专家Id")
    private String zjId;

    /**
     * "图片"
     */
    @Excel(name = "图片")
    private String image;

    /**
     * "比赛地点"
     */
    @Excel(name = "比赛地点")
    @Size(min = 0, max = 200, message = "比赛地点不能超过200个字符")
    private String address;

    /**
     * "联系人"
     */
    @Size(min = 0, max = 50, message = "联系人不能超过50个字符")
    private String linkPerson;

    /**
     * "联系电话"
     */
    @Size(min = 0, max = 50, message = "联系电话不能超过50个字符")
    private String linkPhone;


    /**
     * "报名截止时间"
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "报名截止时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date bmEndDate;


    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "报名开始时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date bmStartDate;



    /**
     * "比赛时间"
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "比赛时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date bsDate;
    /**
     * "比赛截止时间"
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date bsEndDate;

    /**
     * "实际成绩录入完成的时间"
     */
    private Date scoreFinishDate;



    /**
     * "成绩公布时间"
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "成绩公布时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date scoreDate;


    /**
     * "学校Id"
     */
    private String schoolDeptId;
    /**
     * "参赛对象类型(选择的院系)"
     */
    @Excel(name = "参赛对象类型(选择的院系)")
    private String xyDeptId;

    /**
     * "申报人"
     */
    @Excel(name = "申报人")
    private String sbUserId;

    /**
     * "审核状态"
     */
    @Excel(name = "审核状态")
    private String checkStatus;

    /**
     * "审核时间"
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "审核时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date checkDate;

    /**
     * "审核备注"
     */
    @Excel(name = "审核备注")
    private String checkRemark;

    private String delFlag;


    /**
     * "分类名称"
     */
    @TableField(exist = false)
    private String typeName;

    /**
     * "报名类型名称"
     */
    @TableField(exist = false)
    private String bmTypeName;

    /**
     * "参赛队形名称"
     */
    @TableField(exist = false)
    private String xyDeptName;


    /**
     * "学校名称"
     */
    @TableField(exist = false)
    private String schoolName;


    /**
     * "专家姓名"
     */
    @TableField(exist = false)
    private String zjName;

    // 1 准备报名  2 报名阶段  3 准备比赛  4 比赛阶段  5  评分阶段  6  成绩公布完成
    private String status;


    @TableField(exist = false)
    private List<TFjFile> fjList;

    @TableField(exist = false)
    private String mystudyNo;

    @TableField(exist = false)
    private int dshCount;








}
